package ejercicio1calculadorX1X2Cuadratico;

import junit.framework.TestCase;

public class TestCuadratica extends TestCase {

	public void testEcuacionesCuadraticas() {
		EcuacionesCuadraticas obj;
		TestCase.assertNotNull("Testea la creacion de la ecuacion",
				obj=new EcuacionesCuadraticas(0, 0, 0));
	}

	public void testPrimerRaiz() {
		EcuacionesCuadraticas ecu=new EcuacionesCuadraticas(-1,-0.5, 0.5);
		double resultado=(Double) ecu.primerRaiz();
		TestCase.assertEquals("Caso cuadratica con raices reales",-1.0,resultado);
	}

	public void testSegundaRaiz() {
		EcuacionesCuadraticas ecu=new EcuacionesCuadraticas(-1,-0.5, 0.5);
		double resultado=(Double) ecu.segundaRaiz();
		TestCase.assertEquals("Caso cuadratica con raices reales",0.5,resultado);
	}

	public void testParteComplejaPositiva() {
		EcuacionesCuadraticas ecu=new EcuacionesCuadraticas(1,1,1);
		double resultado=(Double) ecu.parteComplejaPositiva();
		TestCase.assertEquals("Caso cuadratica sin cruce con el eje horizontal",
				Math.sqrt(3)/2,resultado);
	}

	
	public void test2SegundaRaiz() {
		EcuacionesCuadraticas ecu=new EcuacionesCuadraticas(0,-0.5, 0.5);
		Object resultado= ecu.segundaRaiz();
		TestCase.assertEquals("Caso null por division por cero",null,resultado);
	}
	
	public void testPrimerRaizDivX0() {
		EcuacionesCuadraticas ecu=new EcuacionesCuadraticas(0,-0.5, 0.5);
		TestCase.assertNull("Caso null por division por cero",ecu.primerRaiz());
	}
	
	public void testNullParteComplejaPositiva() {
		EcuacionesCuadraticas ecu=new EcuacionesCuadraticas(-1,-0.5, 0.5);
		TestCase.assertNull("Caso null por no tener raiz compleja",
				ecu.parteComplejaPositiva());
	}
	

}